package ute.mvc.dao;

import java.util.List;

import ute.mvc.model.MyClass;
import ute.mvc.model.OpenCourse;
import ute.mvc.model.Subject;
import ute.mvc.model.User;

public interface OpenCourseDAO {
	public List<OpenCourse> getAllOpenCourse();

	public List<OpenCourse> findOpenCourseById(String openCourseId);

	public OpenCourse getOpenCourseById(String openCourseId);

	public void addOpenCourse(OpenCourse openCourse);

	public void updateOpenCourse(OpenCourse openCourse);

	public void deleteOpenCourse(OpenCourse openCourse);

	public List<Subject> getSubjectByOpenCourseId(String openCourseId);

	public List<User> getLecturerByOpenCourseId(String openCourseId);

	public OpenCourse getOpenCourseByIdWithListLecturer(String openCourseId);

	// Vinh
	public List<MyClass> getAllClass(String openCourseId);
	
	public MyClass getClass(User student, OpenCourse oCourse);

	//
	public List<OpenCourse> getOpenCourseByStudent(User student);

	public List<Subject> getListAddSubjectByOpenCourseId(String openCourseId);

	public List<User> getListAddLecturerByOpenCourseId(String openCourseId);
}
